#include <iostream>

using namespace std;

const int n = 14, m = 5;

const int q = 13;

int a[n][m];
int st[q];

void dfs(int x)
{
	if(x == 13) return;

	dfs(a[x][st[x]--]);
}

int main()
{
	//思路：
	//1. a[14][5]，第13行是生命牌
	//2.定义一个st[13]数组标记每堆牌的最后一张,初始化为4
	//	最后统计st[13]中结果为0的个数就是开了多少对
	//3.4条命也就是循环4次
	//游戏过程：抽到k就结束，即死一条命，否则的话x = a[13][1]...
	//dfs(a[x][st[x]--])
	for(int i = 1; i < n; i++)
	{
		for(int j = 1; j < m; j++)
		{
			char x; cin >> x;
			if(x >= '2' && x <= '9') a[i][j] = x - '0';
			else if(x == '0') a[i][j] = 10;
			else if(x == 'A') a[i][j] = 1;
			else if(x == 'J') a[i][j] = 11;
			else if(x == 'Q') a[i][j] = 12;
			else if(x == 'K') a[i][j] = 13;
		}
	}

	//初始化st
	for(int i = 1; i < q; i++) st[i] = 4;

	for(int i = 1; i <= 4; i++)
	{
		dfs(a[q][i]);
	}

	//统计有多少对
	int cnt = 0;
	for(int i = 1; i < q; i++)
	{
		if(st[i] == 0) cnt++;
	}
	cout << cnt << endl;

	return 0;
}